{"id":227309,"date":"2020-01-29T07:18:45","date_gmt":"2020-01-29T15:18:45","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/java\/?p=227309"},"modified":"2020-02-05T05:40:51","modified_gmt":"2020-02-05T13:40:51","slug":"whats-new-in-azure-spring-cloud-jan-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/whats-new-in-azure-spring-cloud-jan-update\/","title":{"rendered":"What\u2019s New in Azure Spring Cloud &#8211; January Update"},"content":{"rendered":"<p>Microsoft and Pivotal co-announced <a href=\"https:\/\/azure.microsoft.com\/services\/spring-cloud\/\">Azure Spring Cloud<\/a> private preview during the SpringOne Platform keynote and then public preview at Ignite in November 2019. It is a fully managed service jointly built, operated, and supported by Pivotal and Microsoft to simplify spring boot based microservices development and management. We are excited about the high level of interest the solution has seen and would like to thank all our preview customers for the feedback you\u2019ve given so far. We are committed to making Microsoft Azure an excellent cloud for Java workloads, we continue to deliver more per customers\u2019 requests and feedback. In this blog, I\u2019ll share the newest features on diagnostics and enhancements on tooling from the January release of Azure Spring Cloud.<\/p>\n<h3>Log Streaming<\/h3>\n<p>In Azure Spring Cloud, Spring developers can enable Log Analytics to view or query logs. The log streaming feature allows developers to get <strong>real-time<\/strong> application logs in Azure CLI and know what\u2019s happening with specified application instance running in Azure Spring Cloud. Below is an example and you can get more details <a href=\"https:\/\/docs.microsoft.com\/azure\/spring-cloud\/spring-cloud-howto-log-streaming\">here<\/a>.<\/p>\n<pre>$ az spring-cloud app log tail -g AzureSpringCloudDemo -s demo -n gateway<\/pre>\n<p>If you have multiple app instances, you will get the names of those app instances after running above command line. Then you can use \u2018&#8211;instance\/-i\u201d to specify which app instance you want to view.<\/p>\n<pre>$ az spring-cloud app log tail -g AzureSpringCloudDemo -s demo -n gateway\r\n\r\nCommand group 'spring-cloud' is in preview. It may be changed\/removed in a future release.\r\n\r\nMultiple app instances found:\r\n\r\ngateway-default-7-7cc48cffbc-4kz56\r\n\r\ngateway-default-7-7cc48cffbc-jwvb2\r\n\r\nPlease use '-i\/--instance' parameter to specify the instance name\r\n\r\n$ az spring-cloud app log tail -g AzureSpringCloudDemo -s demo -n gateway -i gateway-default-7-7cc48cffbc-jwvb2<\/pre>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-227324\" src=\"http:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/logstreamingv2.gif\" alt=\"\" width=\"1843\" height=\"1136\" \/><\/p>\n<h3>Alerts<\/h3>\n<p>You can now use the metrics generated by your apps to trigger alerts. When configured, metrics are evaluated at regular intervals to check if conditions for one or more metric time-series are TRUE. If a condition is TRUE, you will be notified.<\/p>\n<p>To set this up in Azure Spring Cloud, you:<\/p>\n<ol>\n<li>Define a metric alert rule by specifying a target app or app instance and choose the desired metric to alert on.<\/li>\n<li>Set the condition for that metric.<\/li>\n<li>Create an action group to be triggered when the alert rule fires.<\/li>\n<\/ol>\n<p>Below is an example:<\/p>\n<ul>\n<li>Metric: Tomcat Request Average Time<\/li>\n<li>Condition: Greater than 1000 milliseconds<\/li>\n<li>Action: Email<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-227335\" src=\"http:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129.png\" alt=\"\" width=\"2855\" height=\"1773\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129.png 2855w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129-300x186.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129-1024x636.png 1024w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129-768x477.png 768w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129-1536x954.png 1536w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/alert0129-2048x1272.png 2048w\" sizes=\"(max-width: 2855px) 100vw, 2855px\" \/><\/p>\n<p>To learn more about setting up Alerts, check out the documentation <a href=\"https:\/\/docs.microsoft.com\/azure\/spring-cloud\/spring-cloud-concept-metrics\">here<\/a>.<\/p>\n<h3>CI\/CD<\/h3>\n<p>Azure Spring Cloud supports both Jar artifacts and source code. If you want to automate the build and\/or deployment, you can follow the guidance to set up a pipeline with the power of Azure CLI to deploy your changes automatically to Azure Spring Cloud.<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/azure\/spring-cloud\/spring-cloud-howto-github-actions\">Github Actions<\/a> \/ <a href=\"https:\/\/docs.microsoft.com\/azure\/spring-cloud\/spring-cloud-howto-cicd\">Azure DevOps<\/a> \/ <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/jenkins\/tutorial-jenkins-deploy-cli-spring-cloud-service\">Jenkins<\/a><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-227312\" src=\"http:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/CICD.png\" alt=\"\" width=\"923\" height=\"407\" srcset=\"https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/CICD.png 923w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/CICD-300x132.png 300w, https:\/\/devblogs.microsoft.com\/java\/wp-content\/uploads\/sites\/51\/2020\/01\/CICD-768x339.png 768w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><\/p>\n<p>We hope you are as excited as we are about these new features. Your feedback has been instrumental in deciding which features to focus on delivering. Please keep the feedback coming.<\/p>\n<p>We will continue to enhancing the Azure Spring Cloud product as we move towards General Availability in the coming months.<\/p>\n<p>If you encounter any issues with Azure Spring Cloud, please create an <a title=\"https:\/\/docs.microsoft.com\/azure\/azure-supportability\/how-to-create-azure-support-request\" href=\"https:\/\/docs.microsoft.com\/azure\/azure-supportability\/how-to-create-azure-support-request\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Support Request<\/a>. Our customer support team are standbying to respond your issues ASAP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Explore the newest features on diagnostics and guidance for CI\/CD of Azure Spring Cloud, a fully managed service\u00a0jointly built and operated by Microsoft and Pivotal.\u00a0<\/p>\n","protected":false},"author":9550,"featured_media":227346,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,1,8,17],"tags":[13,540,248,539,541,316,538],"class_list":["post-227309","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-java","category-open-source","category-web","tag-azure","tag-devops","tag-java","tag-microservices","tag-pivotal","tag-spring","tag-spring-cloud"],"acf":[],"blog_post_summary":"<p>Explore the newest features on diagnostics and guidance for CI\/CD of Azure Spring Cloud, a fully managed service\u00a0jointly built and operated by Microsoft and Pivotal.\u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/227309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/9550"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=227309"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/227309\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/227346"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=227309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=227309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=227309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}