Category: DevOps Practice

  • Earning an AWS Developer Associate Certification

    Earning an AWS Developer Associate Certification

    Studying for an AWS Certification may seem like an arduous task, especially if one isn’t expecting to take any more tests now that college is finally over. However, the certification doesn’t have to be long and tedious—it can be accomplished in as little as three months or less.

    I had started working in the middle of August as a DevOps engineer at a major financial services regulatory firm, and at the suggestion of my peer mentor, pursued the Developer certification—which I earned by the second week of November. 

    Having recently graduated from college, I had no exposure to cloud computing, let alone Amazon Web Services (AWS). However having ventured into a DevOps role, I quickly realized that in order to contribute to my job, I needed to gain a solid understanding of AWS—preferably as fast as possible. My studying time was a mixture of evenings at home, daily commutes on the train and spare time at work. In total, I would estimate a total study time of 40-60 hours. I believe that by allocating the time and following the procedure listed, anyone can accomplish a similar feat.

    I would break the procedure down into three separate stages: broad overview, documentation and exam specific details. After all, in order to learn any subject well, a broad solid foundation is essential before narrowing down to the minute details.

    Broad Overview

    As someone who was starting with almost no understanding of anything related to AWS, I needed a way to pick up as many of the different services as possible and understand how they relate. Thankfully, my company offered an online teaching environment called Linux Academy that included a course on the Associate Developer Certificate. At this point it may be tempting to assume that I passed the exam simply by following the course. However, I personally believe that although the course helped provide a foundation, it was nowhere near sufficient in covering the full material required.

    The course (approximately 12 hours including some basic labs) provided me with an overview of the major services related to the exam as well as the connection between different components. The course also came with practice quizzes and a final exam, that although were helpful, were not at the level of the AWS exam. The only questions I felt were incredibly helpful were in regards to Read and Write Capacity for RDS. There are four combinations: Read with Eventual Consistency, Write With Eventual Consistency, Read with Strong Consistency and Write with Strong Consistency. Each had a slightly different computation and I would recommend looking up example questions even if you do not use the course.

    Since the course was used more as an overview than to teach everything on the exam, it may be possible to skip this section if you already know some of the material or do not want to pay for any online courses. Simple YouTube videos may be able to provide a similar level of detail. 

    Documentation

    This is the core of the studying and the most annoying but inevitable. From my personal experience, the exam is not passable without reading the white pages. Each certification has a list of suggested white pages to review on the AWS’s provided exam guide. I recommend starting with the one titled AWS Overview, the ordering of the rest is less consequential. Although I did not have the time to, I would recommend going over each white page twice. The Basic Overview is particularly important because it describes more services than what was introduced in Linux Academy and also goes into detail on services. It also helps to differentiate between the Amazon Kinesis services.

    Knowing the Exam

    Finally, after gaining a pretty good foundation and understanding of the services it is important to focus on our objective—tailoring our studying for the AWS exam. “Well, what was everything above this for?” While it is true that it is important to understand the different services that AWS offers, the key to passing the exam is to answer the questions correctly.

    As with any exam, knowing the proper format and types of questions is important. It is important to figure out what level of detail the AWS certification expects as well as what topics are most likely to be emphasized. The easiest way to do this is to take the practice exam offered by AWS. Because the sample exam is offered by AWS itself, it is much more similar question-wise to the actual exam than Linux Academy or other sites I had looked up on the internet. For $20, it provides information that is hard to find otherwise. Furthermore, those questions make it easier to look online and find study guides with questions that will actually resemble the certification and provide answers.

    It is noteworthy to mention that the AWS practice exam only provides guidelines on percent correct for each category but does not return the correct answers. After seeing the results, I recommend focusing on the area that is weakest if only one or two categories are lagging behind. However, if all of the scores are relatively close, I would recommend focusing on the highest one, because it is the subject you most likely have the easiest time understanding. Obviously, if all scores are incredibly high then any remaining studying is your prerogative and if they are all low, then it may be necessary to go over  the material again.

    Miscellaneous

    One advantage I had while studying for the exam is that my work was related to learning AWS and I gained exposure to ECS, EC2, Lambas, Step Functions and the AWS CLI. However, although this experience provided me with a little more familiarity with the products, I would not consider this crucial to my passing the exam.

    There are questions about the correct API calls and I had an incredibly difficult time finding the APIs even on Google—the API calls are located in the documentation under actions. Also, since there are so many API actions, I would advise finding general rules and using those on the test—for example, most calls seem to be singular except list actions which are plural.

    From what I can recall, at the time of November 2019, it seemed that the questions I faced had an emphasis on serverless services such as Kinesis, Lambda, API gateway and much less on IAM which the Linux Academy Course seemed to focus one.

    Conclusion

    Final thoughts include: from what I have seen online, on average, a 70% is required to pass the exam but can oscillate according to the difficulty. If you want, it may also be good to start by taking the practice exam to provide a direction for the rest of the studying. White page reading is monotonous but critical to learning all the information required. However, thankfully the writers were quite proficient and presented the information as efficiently and casually as possible.

    Although the steps provided were the ones I used to pass the AWS Associate Developer, I use a similar series of steps on other exams, whether AWS or not. Start by skimming the entire material in order to warm your brain up to the information, effectively providing it with some reference material and footholds for in depth studying. The inevitable part of studying is the reading of denser material. Admittedly, not everyone learns best through reading but it provides a much faster and more efficient way of learning than auditory, which can take much longer. As you read the material more thoroughly, try to map out connections between different aspects and services. Also, try to find any interesting information that comes across, sometimes the examiner will also find the same information interesting and therefore it is more likely to appear. Lastly, it is important to take advantage of any practice material from the source. Even if they do not contain answers, you can probably search them and potentially learn an answer that may reappear on the exam. Furthermore, it allows you to find similar problems and helps you accustom yourself to the format and questing style of the exam.

    — Jintao Hang

  • Three Ways You Can Embrace Curiosity to Climb the Career Ladder

    Three Ways You Can Embrace Curiosity to Climb the Career Ladder

    As the product manager of a high-growth startup, my role has evolved quickly over the past four years. When we started the company, in a garage along one of the many Amsterdam canals, I found myself doing everything from writing code to taking out the trash and ordering dinner for the late nights in the office. Since then, our team has grown rapidly and we are now in a beautiful office where we are proud to host global brands—something we didn’t do in the garage.

    When I joined MessageBird, it was a small company so we each wore many hats and shared responsibilities. Regardless of the hat we wore at any given time, each person stepped up and took the opportunity to learn new skills to help the company reach the next level of success. As the company has grown, I’ve grown along with it. I started as a developer and now, four years later, I am managing product development for our platform of communications solutions.

    As I think back to how I got here, there were three key practices that paved the way.  In addition to never saying no to a job—even if it wasn’t in my job description—I’ve found that nurturing these three practices can go a long way to building a career.

    Ask the Long-Term Questions Early and Often

    When asked to select from a list of 34 attributes that represent their top strengths, 76% of product managers chose “always learning,” and 64% selected “curiosity.” When coupled with a long-term focus, a learner’s attitude is a strong asset for personal growth. At a startup, prioritization of efforts at any time can mean the difference between success and failure. Part of my success was born from simply asking why. Why are we building this now? What customer pain are we solving? Why this focus over that one? Asking why early and often forces a team to slow down and think through whether they are focusing on the right outcomes. And, it’s helped me prioritize my time to have the most impact.  

    Be a Dreamer, but a Critical One

    Whether working as a developer or as a product lead, rallying the team around our mission and potential is critical to success. One of the most effective ways to do this is to dream big—and encourage the team to do the same. Imagining what could be is not only fun, but it helps us aim high. While we dream big, we remain critical of our ideas and open to the input and criticism of others. As we take in new input and ideas, we adjust our thinking but remain persistent on the end goal. To make an impact in a growing company, it’s important to keep one foot planted in solving current customer challenges. But, that doesn’t mean you shouldn’t keep an eye on the future and dream big.

    Acknowledge that You Don’t Know What You Don’t Know

    Growth and leadership are recognizing when you don’t have all the answers and having the confidence to admit it. I’ve learned that the best ideas don’t typically come from one brilliant mind, but rather from the collaboration of several minds. MessageBird was founded in the Netherlands which is a very small country. In fact, two hours in any direction and you’re in a different country with a different language and a different culture. As such, we’re fortunate to have over 30 nationalities represented. Naturally, different backgrounds bring different perspectives and different sets of knowledge. It’s a culture that has given us an edge because the diversity of thought enables us to see challenges from very different viewpoints.

    I’ve come to learn that not knowing something is OK as long as you stick to the pursuit of knowledge and validation. You will make some mistakes along the way, but don’t get stuck on what you don’t know. Let not knowing drive you to learn.

    Embracing curiosity, dreaming big and working together toward solutions are the best ways I’ve found to solve customer challenges and move your career forward at the same time. Hopefully, these tips help you drive yours forward, too.

    — Joey van Ommen

  • The Risks and Potential Impacts Associated with Open Source

    The Risks and Potential Impacts Associated with Open Source

    Open source software (OSS) is built by communities of developers who contribute their knowledge and time to OSS projects they find appealing. That code can then be used by individuals, communities and organizations in their software products—the only obligation they have is to play under the rules of the license with which the OSS project was published. 

    This type of knowledge sharing brings many benefits to OSS users as it speeds up software development time and can help companies become more competitive in the market. Unfortunately, there is also a catch. Those benefits also come with certain risks which every OSS user needs to be aware of and take necessary actions to mitigate.

    The OSS License

    One specific risk to consider involves the OSS license. Not knowing what your obligations are under the license (or not abiding by those obligations) can cause an OSS user to, for example, lose intellectual property or experience a monetary loss.

    Operational Impact on the Product

    Another risk is the operational impact that the OSS in use will have on the product. It’s important to understand whether the community is consistently managing the OSS project and its issues in a timely manner, and that your organization has implemented the latest version and deployed patches have been applied. Using out-of-date, unpatched or unmaintained OSS could impact your release capabilities, product quality and customer trust.

    Security Vulnerabilities

    The third risk to consider when using OSS is that of security risk. As open source is software—and in many cases very complex software—it brings with it the possibility of introducing software security vulnerabilities into your source code. Some vulnerabilities can be introduced into your projects through dependencies that the OSS your organization is using has on other OSS projects. Additionally, vulnerabilities could be unintentionally introduced by developers as they code a functionality using open source. The reason for this is that software developers, whether professionals or hobbyists, oftentimes do not consider security while coding. This has a substantial impact on their work and their contributions to open source projects. 

    It’s not necessarily that developers intentionally skip the implementation of security procedures. Secure coding is a specific discipline in software development that guards against the accidental introduction of vulnerabilities—a discipline that must be learned. 

    Understand that many developers are self-taught or have been trained in schools and universities (where we are only recently seeing courses in software and application security emerging). Many use their software development skills as a hobby, to contribute to OSS projects or to pursue their own personal projects. Unfortunately, training programs, programming courses in schools and online tutorials often neglect to convey this knowledge or to stress the importance of building secure software. 

    It’s also important to note that many organizations find it difficult to introduce a secure coding discipline into their software development process. In other words, this struggle persists beyond open source projects. If you’re with an organization experiencing this pain point and unsure where to begin, you’ve come to the right place. There are several strategies that can be used to begin your secure coding journey. 

    Training

    By giving developers the education required for them to become security aware, you’re setting them up for consistent, secure development success. There are a variety of in-person and computer-based training options on the market.

    Software Composition Analysis (SCA) Tooling

    Implementing an SCA tool will uncover incorrectly coded strings or vulnerabilities that have been introduced in code or OSS components. Not only can SCA tools assist developers in identifying potential software risks, some SCA solutions can help to train developers by offering remediation guidance or short training videos on how to avoid such vulnerabilities in the future.

    It’s essential for software issues to be discovered early because the deeper into the process they’re identified, the more time-consuming and costly they are to remediate. As such, in recent years there has been a push to shift left, introducing security into the product development life cycle from the very beginning. 

    Companies and individuals need to also understand that this security mindset doesn’t start and end in the coding phase of the development process. A security mindset needs to be a part of every phase: from design to deployment to maintenance, all the way through to the product’s end of life. 

    Emphasizing a security mindset also has a long-term, broad reaching positive effects on the whole software development ecosystem, including the OSS world. As developers are trained to code securely (through university courses and other training institutions, coding portals or professional development through their employer) they pass this knowledge on to the projects with which they’re involved. This then leads to the production of higher quality proprietary and open source software, which in turn minimizes risk across the board.

    — Boris Cipot

  • Five Technology Trends to Shape Future Investments

    Five Technology Trends to Shape Future Investments

    Humans invented technology to introduce innovative products in the market. Technology’s relentless cycle of innovation has now touched humanity, redefining what it means to be a human, a meaningful change that is impacting business priorities and is expected to do so in the future.    

    The most important tech investment for C-level executives relates to digital transformation, artificial intelligence (AI), Internet of Things (IoT) and cybersecurity. With 71% of the world expected to use mobile phones by 2024 and the successes of mobile banking in developing countries, experts predict that mobile and blockchain technologies will also join to bring about more financial inclusions.

    Here are five things that C-suite business people should invest in.

    Digital Transformation: Everything Online

    As one of the weapons in the arsenal of business innovation, digital transformation has become such a buzz word that it turns people on. According to a report by Forrester, 90% of the executives believe digital transformation is a necessity for their business, and around 60% believe they lag behind in digital transformation. By the end of 2020, a company would either have transformed or will be on its way to adapt to digital transformation.

    IoT: A Thousand Points of Entry?

    Business implementation of IoT and blockchain are very popular these days. However, if we look to enterprises it’s a different story. Costs, security and current political climate are the major hurdles for the enterprise-level implementation of IoT. To get the most out of this innovative technology, businesses need to determine what stands in their way and then work on strategies to sort things out. So until the issues are dealt with, IoT will be seen as a promising technology that’s not ready for prime time.

    AI: A Real Game-Changer

    Every so often a technology comes along that has the potential to completely change everything around it. The last such thing was cloud computing. Like cloud computing, AI has been around for a long time. AI, machine learning and deep learning are catching up with the initial promises and it will become more evident in the coming years.

    Most common usage of AI and machine learning will be seen in business intelligence, automating the repeated tasks, and making future prediction using the previous data. Previously, AI has been used for decision making using data analytics and this is expected to increase in the coming years with more businesses investing in the AI-driven decision-making system. Another use of AI that will be more common is digital identity verification for online businesses.

    Ultimately, AI/machine learning and deep learning will be seen more frequently in the years ahead. However, the promises it brings are far fetched and it’s worth waiting to see the true potential of AI.

    Quantum Computing: The Next Big Thing

    Currently, in R&D, quantum computing will open new ways by solving problems that require a lot of computation. Google’s investment in quantum R&D is expected to grow and more researchers will shift their focus from AI to quantum. With the emergence of 5G, the quantum research industry will see a boom.

    DevOps: For a Customer-Centric Approach

    According to the Forrester report, firms will embrace a customer-centric approach as the DevOps speeds flatter. DevOps continues to impress the heart and minds. However, with a slow-release speed, engineers are experiencing a stress point. DevOps teams must see this as an opportunity to approach DevOps differently. Within the next six to 12 months, DevOps adoption will change and the team will implement new strategies. Testing will revolve around previous radical methods and new technology will help developers to learn new skills.

    — James Efron

  • DevOps Deeper Dive: DevOps Consolidation This Way Comes

    DevOps Deeper Dive: DevOps Consolidation This Way Comes

    The merger of XebiaLabs and CollabNet VersionOne announced this week will accelerate the ongoing consolidation of providers of DevOps platforms that has been slowly gaining momentum for the better part of two years.

    Under the terms of the agreement, the unnamed combined company will be led by Ashok Reddy, formerly with Broadcom, CA Technologies and IBM. Current XebiaLabs CEO Derek Langone will become president of the combined company. Current CollabNet VersionOne CEO Flint Brenton is stepping down from the combined company.

    CollabNet has been trying to make a case for employing value stream management tools to better align application development projects with business objectives ever since it merged with VersionOne, a provider of an application lifecycle management (ALM) platform anchored around version control software, in 2017. Late last year, CollabNet VersionOne was acquired by TPG Capital, which pledged to make $500 million in funding available to drive organic and inorganic growth. The decision to appoint Reddy as CEO of the combined company was made by TPG.

    XebiaLabs, meanwhile, raised $100 million capital in early 2018 to drive investments in building a continuous delivery platform. The goal now is to more tightly integrate the respective platforms of the two companies to advance value stream management with Global 5,000 class organizations, says Langone.

    “There is no enterprise-class player in this space,” said Langone.

    Rival offerings either don’t scale to meet the needs of larger enterprises or they are simply too shallow to meet business requirements, he noted.

    Of course, value stream management is where most of the rivals of the combined entity are also focused. CloudBees, for example, has already rolled out value stream management modules as an extension of its continuous integration/continuous delivery (CI/CD) platform. CloudBees CEO Sacha Labourey said the company is now taking that concept to the next level by building a software delivery management (SDM) platform that normalizes data from multiple data sources. The open source Jenkins CI/CD platform, along with the Electric Cloud application release platform CloudBees gained via acquisition last year, would be one of many data sources for that platform, he said, while value stream management would be one of several applications available to different classes of users within that SDM platform.

    While mergers and acquisitions among DevOps vendors have been occurring slowly, Labourey said he expects the pace of such deals to increase in the months ahead as organizations embrace more complex modern application architectures based on microservices.

    “The destination is now clear,” he said.

    GitLab, meanwhile, has already signaled in 2020 that it will be adding value stream management capabilities to its namesake platform. Rather than trying to merge disparate code bases acquired by acquisitions, GitLab is building an end-to-end platform on a common code base, says Jackie Meshell, a senior product manager for GitLab.

    “We’re seeing the market follow that fast,” Meshell said.

    There are, of course, other approaches to value stream management applications that span multiple application development platforms, including offerings from Plutora, Tasktop and Panaya.

    Value stream management has become an industry buzzword of late as more organizations appreciate the degree to which their businesses now revolve around the rate at which software gets built and delivered. Value stream management applications are roughly the equivalent of business intelligence software for business managers, who pull metrics and data from application development platforms to determine whether projects are falling behind and what impact those delays might have on the business.

    Most business leaders are going to lean toward value stream management applications that can be applied across multiple application development platforms, said Bob Davis, chief marketing officer for Plutora. Few organizations are standardized on a single application development platform, he noted.

    While it’s still early days in terms of adopting value stream management applications, Davis said it’s already apparent that in the age of digital business transformation the category is red hot.

    “Value stream management these days is everywhere,” he said.

    It remains to be seen whether a strategy that focuses mainly on slower-moving enterprise IT organizations will succeed at a time when more agile startups continue to gain share at the expense of larger incumbents in almost every industry. Many of those enterprise IT organizations may get exposed to value stream management by acquiring a rival that has already adopted an application. Of course, it’s also just as likely that by the time many of those enterprise organizations reach the point where they need value stream management applications, it may be past the point where they remain relevant.

    Regardless of how they get there, however, wider adoption of value stream management as an extension of SDM is coming. The only unknown now is how and when.

    — Mike Vizard

  • Launchable Aims To Improve Delivery Velocity, With Kohsuke Kawaguchi and Harpreet Singh

    Launchable Aims To Improve Delivery Velocity, With Kohsuke Kawaguchi and Harpreet Singh

    A new company, Launchable, aims to improve your delivery velocity by helping you be much smarter about which tests you run and when. By applying machine learning (ML) and better use of the data output by your software development work, the two co-founders think they can make a meaningful impact on development efforts.

    Sure, you say, lots of developers say they can change the world. But in this case, the co-founders have some very impressive résumés to give you confidence they just may do it. The dynamic duo is none other than Harpreet Singh, former GM of Atlassian BitBucket and VP of Product and Design at CloudBees, and the one and only Kohsuke Kawaguchi, founder of Jenkins and CloudBees Chief Scientist, most recently.

    Wait a second, you may be asking, you’re saying KK from Jenkins/CloudBees has started a new company? Yes, that’s what I am saying. In a podcast that will be available very soon, KK and Harpreet talk with us about Launchable’s why—and why now. Stay tuned for that.

    It’s worth noting that KK has been at CloudBees for 10 years and working on Jenkins for 15 years. In the tech business, that is nearly a lifetime. During our podcast, KK said he felt that with Jenkins being passed to the Continuous Delivery Foundation (CDF), coupled with a healthy group of leaders within the Jenkins community, now was a good time to move on to the next adventure.

    Beyond Jenkins, CloudBees has grown into its own next phase, with lots of exciting developments announced and more coming. The scientist in KK has led him to explore solutions to problems he sees in the way so many companies are doing development. His longtime friendship with Harpreet, dating back to their days at Sun, has energized them both to once again work together and tackle the real problems that development teams are facing.

    What will come out of Launchable? I don’t know. But the company has already attracted some blue-chip VC investment, as well as an impressive list of angels including Sacha Labourey, CEO and founder of CloudBees.

    They (like everyone else, it seems) are hiring development engineers and data scientists. So if working with KK is something that appeals to you, head over to the Launchable site and check out the Careers section.

    I am sure we will be hearing more about Launchable in the days, weeks and months ahead. In the meantime, best of luck to Harpreet and KK, and many thanks for a job well done with Jenkins.

    — Alan Shimel

  • Microservices: The Advantages of SOA Without Its Drawbacks

    Microservices: The Advantages of SOA Without Its Drawbacks

    Service Oriented Architecture (SOA) was the great hope of organizations decades ago when they sought to advance legacy system integration, reduce and bypass layers, and rapidly access the system of record. At the time, the existing solution was point-to-point integration, creating a brittle “spaghetti” middle layer that was hard to manage. This was replaced by SOA, which was later augmented with ESB. This fixed the spaghetti mess by creating an intermediate set of layers, which added complexity to the integration process.

    Unfortunately, most IT departments with legacy systems and SOA still struggle to be as agile as needed in this ever-increasing global and digitized world. 

    SOA Solved Many Problems, But Not All

    Today, upward of 90% of the world’s enterprise applications are monolithic. When they were created, monolithic design was the best approach available. However, as business needs evolved and the demand for greater agility intensified, developers and IT teams are considering breaking free of these monolithic architectures.

    SOAs have become a hindrance, not the solution they once were.

    The SOA Integration Challenge

    The promise of SOA initiatives was extending the reach of core business functions while reducing the internal expenses and complexity that grew alongside monoliths. SOAs achieved these goals by breaking the core functions of a monolith into web services using protocols such as simple object access protocol (SOAP) and eXtensible markup language (XML).

    SOAP was built for universal application communications. Because it’s based on XML, SOAs designed with SOAP could, in theory, be used to create an agnostic integration layer. Rather than struggling to piece together various proprietary systems, these protocols would open monoliths on different operating systems so they could work together.

    This agnostic integration layer would let system administrators connect pieces of a monolith to an enterprise service bus (ESB) to achieve an agile, plug-and-play SOA. In some cases, this approach succeeded.

    A great deal of “legacy SOA” still provides value. In these cases, the value the SOA provides is the behind-the-scenes server-to-server communication that mostly aids developers. When it comes to serving internal and external customers–and their rapidly changing demands–SOA isn’t always up to the task.

    To achieve service integration, the ESB must oversee the messages from start to destination. This communication isn’t as simple as the SOA vendors may have promised. Consider an SOA integration within a core banking application. The message must go from the core application on the mainframe to a branch office server. If the business logic states a message is only relevant for one business day, administrators must decide whether to move it to a queue, log or disregard when the day passes. This is a common scenario for core banking applications in an SOA, but how well does it work?

    In this example–and others like it–the ESB must know whether a business day has passed to make the right decision about where to send the message. Therefore, the integration requires an algorithm–meaning that ESB cannot simply rely on a universal rule for sending messages between the monolith and external integration.

    When administrators introduce new business logic into the monolith integration, it turns what was supposed to be an agnostic service layer into a new application layer, increasing complexity. Instead of simply integrating the monolith into a new digital service, the enterprise ends up with a larger monolith–one that includes the mainframe and all the new integration stacks.

    Despite the promises of SOA, the integration problems result in increased maintenance time, greater complexity of code and software and the continued growth (not elimination) of monolithic applications.

    The first rule of effective integration is “smart end-points and dumb pipes.” Building logic and layers into the service layer breaks that rule, increases the overall complexity and adds another legacy application to your portfolio.

    Bottom line: Trying to optimize the SOA approach will only result in larger monoliths.

    Improving SOAs with Microservices

    Using microservice architectures helps realize the original promise of SOAs, delivering the benefits of SOAs while removing many disadvantages.

    For decades, CIOs have tried to transition away from monoliths by taking traditional approaches to integration, only to find they’ve doubled down on legacy investments. All these integration stacks end up coupled to legacy systems and only result in more work for the IT team–and a less agile organization.

    The integration step of SOA was never intended to include business logic. Trying to force business logic into this approach leads to workarounds and extra effort just to achieve a less-than-ideal result.

    The key factor is how to incorporate microservices without adverse effects. Luckily, microservices architecture can be forged from SOAs by introducing these new principles:

    •   Context Mapping: When replacing an existing SOA, teams must consider the size and scope of the new microservice and apply proper contextual boundaries. For example, SOAs that typically sought broad integration with digital services should be broken down into smaller domains to simplify operation.
    •   Shared-Nothing Architecture: Too many SOA integrations create sprawling dependencies that create complexity in the tech stack. Microservices avoid these cross-service dependencies. For those looking to move to microservices from an existing SOA, it’s important to look at the list of dependencies and work toward standalone functionality.

    Ultimately, the goal should be to refactor monoliths in a way that shifts the IT stack toward microservices. By taking the right approach, you can make the most of both microservices and APIs within your SOA. You enhance your digital journey, leading you to IT efficiency, faster cycles, greater scalability and competitive differentiation.

    — Zeev Avidan

  • Edge Computing and ITOps: Opportunities and Challenges

    Edge Computing and ITOps: Opportunities and Challenges

    Edge computing is growing quickly, but IT operations need to evolve as well to effectively monitor and manage new devices, sensors, applications and data. Growing enterprise edge ecosystems should integrate and become part of centrally managed ITOM systems.

    Edge computing is hard to define and is running high on the hype scale. But, research and surveys continue to indicate that this trend of processing data where it’s collected for better latency, cost savings and real-time analysis is an innovation with legs.

    There will be 75 billion IoT devices by 2025, according to Statista. According to Spiceworks’ 2019 State of IT report, 32% of large enterprises with more than 5,000 employees are using edge computing, and an additional 33% plan to adopt it by 2020. Tied to the growth of edge computing is the advent of 5G wireless: 51 operators globally will start 5G services by 2020, according to Deloitte Global research from 2019.

    The major cloud companies are also investing in the edge. The AWS Local Zones service allows single-digit latency connecting to computing resources in a metro environment, while Microsoft offers the Azure Stack Edge appliance and Google Cloud IoT is a “complete set of tools to connect, process, store and analyze data both at the edge and in the cloud.”

    It’s safe to say that edge computing is becoming mainstream, and CIOs and their ITOps leaders should plan appropriately for it in 2020 and beyond.

    Benefits of the Edge for ITOps

    We’ve read plenty about the business benefits from edge computing: oil rig operators need to see critical sensor data immediately to prevent a disaster, marketers want to push instant coupons to shoppers while in the store, video security monitoring can catch a thief in the act and medical device alerts that ensure patient safety. Edge computing may save IT money on cloud and network bandwidth costs as data volumes keep exploding and the need to store every data point becomes harder to justify.

    There are also implications for IT management and operations. Local processing of high volume data could provide faster insights to manage local devices and maintain high-quality business services when seconds make a difference—such as in the event of a critical server performance issue threatening the e-commerce site.

    Today, ITOps teams are inundated with data from thousands of on-premise and cloud infrastructure components and an increasingly distributed device footprint. The truth is, only an estimated 1% of monitoring data is useful, meaning that it provides indications of behavior anomaly or predictions about forthcoming change events. With edge monitoring, we can potentially program edge-based systems to process and send only that small sliver of actionable data to the central IT operations management system (ITOM), rather than transmitting terabytes of irrelevant data daily to the cloud or an on-premise server where it consumes storage and compute power. 

    The job of filtering out the highly-contextual data on the edge, where business occurs, can support real-time decisions for successfully running ITOps at speed and scale—regardless of what combination of on-premise, public cloud or private cloud infrastructure is in place. At the same time, ITOps will need to be a leader when it comes to minimizing the risk of edge technology from a performance, security and privacy perspective. However, as detailed below, we are in the early stages of determining how to make this work in practice.

    ITOps Realities for Edge Computing 

    Edge-Specific Security Needs Are Still Unknown: Edge devices are often small and infrequently designed with security in mind. More than 70% of edge devices don’t mandate authentication for third-party APIs, and more than 60% don’t encrypt data natively. So the attack surface in IoT and edge environments is now larger, and less secure. This is particularly worrisome when considering edge devices that collect personally identifiable information such as email, phone numbers, health data or financial formation such as credit card data. ITOps will need to work closely with security and legal teams to map out the company-specific risk, governance and compliance requirements around managing edge data.

    Edge Monitoring Tools Are Immature: Companies need platforms that can instantly monitor and analyze edge-generated data. In the connectivity of tomorrow, billions of connected devices will be communicating machine-to-machine, and the addition or subtraction of connected devices will be possible at an unprecedented scale. In this environment, the ability to manage large volumes of connected devices and the information being exchanged between them will be critical. 5G acts as the unifying technology, bringing flow of information and the density of scale. We will see an influx of innovation in edge monitoring in the coming years.

    New Environments Call for New Rules: As organizations move more data and application assets to edge computing environments, IT will need to devise new policies and thresholds for central processing and alerting of all this data. Applying AI-based automation is essential here, as manual efforts will have zero chance of keeping up with the volume of data filtering, analysis and response. We are entering the age of nano satellites, vis-à-vis SpaceX and OneWeb. These edge devices will transform the future of agriculture, energy, mining, transportation and finance due to their capabilities for sending insightful data in real-time to customers, wherever they are at any moment. ITOps will have its work cut out to understand and properly manage this evolving edge infrastructure.

    DevOps Processes Will Become Even More Paramount: If you haven’t already realized that DevOps is taking over software development and IT management, just wait for when edge goes mainstream. There will be no other way to manage change and deployments of edge technology without the agile, continuous integration and continuous delivery methodology of DevOps. It will be imperative for ITOps to adopt DevOps practices and tools to manage, monitor and deploy edge resources.

     

     

     

    ITOps is at a crossroads, determining how much of the past is still relative and how much they will need to change to adapt to a distributed, hybrid cloud world that will soon include edge as a fundamental pillar of their digital strategy. Security, machine intelligence and DevOps will be crucial areas of expertise for ITOps teams looking to help drive better business value and customer experiences from the edge.

    — Bhanu Singh

  • The Acceleration of Data and Data Storage Trends

    The Acceleration of Data and Data Storage Trends

    There’s never been a more exciting time for data. Increasing demands for size, speed, performance and reliance have propelled the data market forward at a faster rate than could have ever been anticipated, and new technologies are making some dreams for data a reality.

    From open source adoption in place of legacy databases to cloud-native app stacks and more, here are seven trends driving the acceleration of data and data storage. 

    Oracle’s Slow Fade Drives Cloud-Native Adoption

    Organizations of all sizes continue to eschew Oracle for cloud-native databases, shrinking the user base of the monolithic legacy provider. Two major trends driving this activity are the ongoing move to microservices-based redesign of applications and the rise of cloud-native deployments running in public clouds or Kubernetes. Overall, Oracle has lost market share every year since 2013, and legacy relational database players have dropped about five percentage points per year. Major organizations, such as Amazon and Salesforce, have already figured out that it’s to their benefit to use less, not more, Oracle.

    Open Source DB Usage Increases

    Open source databases that claimed 0% of the market 10 years ago, now make up more than 7%. It’s clear that the market is shifting and an increase in open source database adoption is on the rise. This goes against the recent trend of database and data infrastructure companies abandoning open source licenses for some, or all, of their core projects. However, as technology rapidly advances it will be in the best interest of database providers to switch to a 100% open source model, since freemium models take a significantly longer period of time for the software to mature to the same level as a true open source offering.

    Furthermore, Gartner predicts that, by 2022, more than 70% of new in-house applications will be developed on an OSDBMS or OSDBMS-based dbPaaS. It’s clear that open source has proven to be the most successful approach to developing and distributing business-critical infrastructure software, driven by the benefits of reduced total cost of ownership, access to community support and innovation and compatibility with commercial databases, making it easy to migrate towards an open source solution. 

    Kubernetes For Stateful DBs

    There has been continued growth in the adoption of both microservices and containerization. With the combination of massive adoption and the support of a large and thriving open-source community, it is clear that the dynamic nature of containerization and microservices deployments will have huge implications on fundamental application architecture. To put it simply, this is the future of how applications will be built. This is also why the adoption of Kubernetes has continued to grow.

    Multi-Cloud Goes Mainstream

    Multi-cloud deployments are becoming the norm in today’s enterprise. A multi-cloud approach is critically important for organizations that run on-premise, since they need to stay in a hybrid mode when moving microservices to the cloud. As a result, enterprises are widely embracing distributed SQL databases to ensure agility without the availability constraints of traditional monolithic databases, such as Oracle. 

    Rise of Edge Data Centers

    While the rise of edge data centers is assuredly a trend, Gartner predicts that three quarters of all databases will either be deployed or migrated to a cloud platform by 2022. There will also be an increase in multi-cloud adoption as a result of the geo-distribution of data. Edge data centers are already starting to offer data services with geo-distribution, a clear sign that demand is creating supply.

    Cloud-Native App Stacks Gaining in Popularity

    Modern microservices-oriented architectures are becoming increasingly popular. Over time, this leads to environments with lots of microservices that should be able to notify one another of changes and store these changes in a system of record. The application stack that is getting very popular for such use-cases is a combination of:

    • Spring framework to build the applications.
    • Kafka as the message bus to send notification between the microservices.
    • A Distributed SQL database to store the data in a scalable manner and query it efficiently.

    Other application stacks that are rising in popularity are the JAMstack ( Javascript, APIs and Markup) where there is no dependency on any particular web server. Javascript frameworks such as ReactJS and VueJS have become very popular for building the frontend portion of the app. GraphQL frameworks such as Apollo and Hasura are getting increasingly adopted as efficient ways to build the API portion of the app.

    Advances in innovation for data and data storage will undoubtedly continue, driven by major trends across all areas of business, as long as organizations are prepared to embrace change and hit the accelerator on their data strategies.

    — Karthik Ranganathan

  • Trends and Benefits of Serverless Computing

    Trends and Benefits of Serverless Computing

    Gartner estimated that by 2020, 20% of the world’s organizations will have gone serverless. Serverless computing initiates a mind shift in the way businesses are run and improves the accuracy and impact of technology services. Leading to higher functionality, reduced AWS bills, increased delivery speed and multi-cloud support, serverless computing paves the way into the future. 

    The scope of serverless is yet unexplored. With new and high-potential developments (such as FaaS and GitOps) still in their nascent stages, organizations can expect massive benefits leveraging the power of serverless computing going forward. 

    Servers have been a very important part of the computing architecture for decades. But, with the introduction of cloud, we’ve moved to predominantly web-based server infrastructure, and the migration to serverless architecture has begun.

    Serverless computing–abstract and virtual server support–has made the computing landscape more dynamic, robust, intuitive and powerful. But advancement in serverless technology is still in its nascent stage. The next few years are expected to bring in numerous developments and transformations.

    First, let’s take a look at some serverless trends you should keep an eye out for.

    Kubernetes Will Become the Go-to Serverless System

    Kubernetes has become synonymous with open-source containerization. But in the next few years, we will see Kubernetes become the base for serverless infrastructure. Features such as networking, service discovery, agile scaling and multi-cloud environment support make Kubernetes the perfect choice for serverless. 

    Additionally, with Knative already released, the process of standardization and interoperability of serverless platforms may soon become a reality. 

    Stateful Applications Will Also See the Usage of Serverless

    Restriction of serverless for stateless apps is a thing of the past. The next few years will see stateful apps benefiting from the immense power of serverless. Developers will be able to use database connections, BaaS and event payloads to run their applications.

    FaaS Industry Size Will Grow 

    The FaaS market is expected to grow to $7.72 billion by 2021. Large-scale adoption of serverless will be seen across the world, and there will be a 32.7% CGAR. 

    GitOps Will Be the Next Big Thing 

    The version-controlled system of DevOps, GitOps, will see more takers in the future, especially in FaaS. GitOps is expected to improve operational workflows, especially in fast-moving projects, and enable implementation of technologies such as Kubernetes and other cloud solutions. 

    Additionally, this will enable cloud vendors to provide greater ecosystem support and tooling capabilities to users.

    Containers Versus Serverless

    Containers by nature are segmented, isolated and contained spaces of application-specific servers. While they offer high degrees of specialized (and often customized) tools, resources and support, they suffer from numerous challenges:

    • They are very resource-inefficient compared to serverless. 
    • Their ecosystem is fractured as opposed to the wholesome environment offered by serverless. 
    • Data storage and retention are complicated, necessitating frequent data migration across containers. 
    • Graphics support is limited, resulting in poor-quality deployments. 

    The challenges that come with containers prompt organizations to choose serverless. Already, many companies have implemented serverless.

    Here is how the move to serverless will benefit you, too.

    Serverless Computing Eliminates the Need for the Set-Up of Complex Application Stacks

    Developing even the most basic server-bound application is a challenging task. It requires the set-up of high-powered and complex application stacks that can be both difficult to build and difficult to manage. By going serverless, organizations can eliminate all these heartaches. 

    Serverless stacks, such as Lambda and Azure, create a robust and intuitive environment for the development of agile applications, by providing organizations with a large set of capabilities and allowing them to run at scale, at the lowest costs.

    It Reduces the Organization’s Capital Expenditure

    Unfortunately, IT infrastructure is considered a capital expenditure by many organizations. So, building your own servers can lead to a high CapEx.

    Consider this. Physical servers are vulnerable to breakdown and depreciation, which add to CapEx. If you report this value as expenses in your income statement, it may ultimately negatively affect your P&L and your company valuation. Going serverless allows organizations to avoid such a challenge and maintain their profitability and high valuation.

    Plus, serverless infrastructure reduces the need for human resource deployment as focus on batch processing decreases. Additionally, serverless allows organizations to convert workflows into step functions, which reduces the number of EC2 and SWF issues. Together, these reduce company expenses tremendously. 

    It Shortens the Standard Release Cycle Significantly Due to Microservices and Nano-Services

    Serverless computing allows organizations to benefit from the magnificent power and scope of microservices. From making minute application-specific developments to isolating and rectifying issues, to managing and deploying individual applications, organizations can do a lot of things using serverless computing. 

    In fact, a survey shows that utilizing serverless microservices can bring down the standard release cycle from 65 days to a mere 16 days.

    It Allows Easy Completion of ELT Tasks and Cron-Type Jobs 

    Again, serverless computing microservices gives organizations the flexibility, technical support and clarity needed to process data. ELT tasks become more consistent and allow the creation of structured data warehouses.

    Similarly, since isolated components and applications can be created, deployed and fixed in serverless, it’s easier to implement cron-type jobs as well. 

    It Allows Organizations to Escape Traditional Workflows Through Event-Based Computing 

    Adoption of serverless computing allows organizations to shift from the restrictive, time-consuming and draining traditional workflows and engage in event-based computing. Now, coders can just write the algorithms and allow the serverless provider to take care of the data storage and computing needs. Not only will this reduce the time of transaction processing and the cost of DevOps, but it will also free up the time and space for coders to take on other business logic tasks. 

    It Enables Green Computing 

    With climate change becoming such an imminent threat to the world, it’s important for organizations to become mindful about the way they operate. One way to become sustainable is to go serverless.

    For one, serverless computing ensures organizations don’t over-utilize electricity. Additionally, with no physical servers and data centers that emit toxic radiation as they cool down, there will be lesser concerns about health and climate change. 

    Another aspect is scalability. Serverless is highly-scalable, meaning you don’t need to set-up more servers at your office. Given that 30% of the world’s servers are unused at any point in time and most servers only utilize 5%-15% of their total capacity, serverless may be the best way to go green.

    It Promotes Deployer Autonomy and Encourages the Adoption of New Mindsets

    Serverless computing gives organizations the freedom to focus on their core business offerings and deal with only low-level OS issues. This time, money and opportunity can be used by deployers, coders and top management to develop competitive offerings, which can help the organization overtake competitors. 

    With physical servers, it’s more likely than not for organizations to focus on technical server issues than the business process.

    Conclusion

    Serverless computing could be one of the most exciting developments of the 21st century. It is breaking down old barriers and allowing organizations to expand and explore new frontiers. Its high deliverability, coupled with the immense opportunities it promises, makes it a must-adopt in any organization.

    — Subramonian